热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux${name:word},${name:=word},${name:?word},${name:+word}

参数置换变量是另一种为变量赋值的方式,其一般形式如下:变量2${变量1op字符串}以下各变量的具体取值,如未说明则表示其值不变①变量2$

参数置换变量是另一种为变量赋值的方式,其一般形式如下:
变量2=${变量1 op 字符串}

以下各变量的具体取值,如未说明则表示其值不变
①变量2=${变量1:-字符串}
若变量1的值为空,则变量2=字符串;
若变量1的值不为空,则变量2=变量1。

$ var1=
$ var2=${var1:-world}
$ echo $var1$ echo $var2
world
-----------------------
$ var1=hello
$ var2=${var1:-world}
$ echo $var1
hello
$ echo $var2
hello

②变量2=${变量1:=字符串}
若变量1的值为空,则变量1=变量2=字符串;
若变量1的值不为空,则变量2=变量1。

$ var1=
$ var2=${var1:=world}
$ echo $var1
world
$ echo $var2
world
-----------------------
$ var1=hello
$ var2=${var1:=world}
$ echo $var1
hello
$ echo $var2
hello

③变量2=${变量1:+字符串}
若变量1的值为空,则变量2=变量1=空串;
若变量1的值不为空,则变量2=字符串。

$ var1=
$ var2=${var1:+world}
$ echo $var1$ echo $var2-----------------------
$ var1=hello
$ var2=${var1:+world}
$ echo $var1
hello
$ echo $var2
world

④变量2=${变量1:?字符串}
若变量1的值为空,则按指定格式“shell脚本名:变量1:字符串”显示,并退出当前shell;
若变量1的值不为空,则变量2=变量1。

$ var1=
$ var2=original
$ var2=${var1:?world}
bash: var1: world
$ echo $var1$ echo $var2
original
-----------------------
$ var1=hello
$ var2=original
$ var2=${var1:?world}
$ echo $var1
hello
$ echo $var2
hello


推荐阅读
  • 环境变量是用于描述系统运行环境的一系列变量,如PATH指定了命令的搜索路径,SHELL指定了默认的Shell。本文介绍了如何加载和管理这些环境变量,以及普通变量与环境变量的区别。 ... [详细]
  • 通过设置Linux中的cd命令别名,用户能够更加高效地在复杂的目录结构中进行工作目录的切换。本文介绍了几种实用的方法,帮助减少重复输入路径的工作量。 ... [详细]
  • 每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ... [详细]
  • 1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入, ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
    【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ... [详细]
  • 本文提供了一个使用 while 循环在 Linux Shell 脚本中处理文件列表的具体示例。通过这个例子,读者可以了解如何利用 shell 脚本来批量处理文件,包括文件名的匹配和处理。 ... [详细]
  • Android开发:巧妙运用ViewStub写出类似Tab选项卡
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • C#中调用OpenCTM打开.obj三维模型文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了如何在Linux系统中将命令添加到PATH环境变量中,以便在任何位置都能直接运行这些命令。PATH是一个包含多个目录路径的字符串变量,当输入不带路径的命令时,系统会在这些路径中查找并执行相应的命令。 ... [详细]
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • Linux bash 命令行下实现可视化文件或文件夹浏览
    Linuxbash命令行下实现可视化文件或文件夹浏览  有时候部署环境,需要配置文件路径或者载入相应的配置文件。这种情况下,如果用传统的手动修改配置的方式配置,会比较容易出意外(比 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
author-avatar
萎靡的世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有